home *** CD-ROM | disk | FTP | other *** search
- /* layout routines.h -- Line Layout calls
-
- by Eric Mader and Dave Opstad,
- with special thanks to the following folks:
- • Mark Davis, for starting it all off;
- • Russ Sonnenschein, for many good ideas;
- • Cary Clark, Dave Good, Rob Johnson, Keith McGreggor, and Chris Yerga for the graphics system;
- • Richard Becker, Lynn Bekkala and Mike Reed for fonts and the font system;
- • Robert Dierkes and the SQE team for testing and good ideas;
- • Parry Kejriwal and Richard Klein, for font tools;
- • Diane Patterson, for great patience in writing documentation;
- • Hugo Ayala, Tom Dowdy, Dan Lipton, Sean Parent and the rest of the PrintShop;
- • Mitch Allen for managing to manage us; and
- • many other good folk at Apple!
- */
-
- /* Copyright ©1998-1992 Apple Computer, Inc. All rights reserved. */
-
- #ifndef layoutRoutinesIncludes
- #define layoutRoutinesIncludes
-
- #ifndef graphicsTypesIncludes
- #include "graphics types.h"
- #endif
-
- #ifndef layoutTypesIncludes
- #include "layout types.h"
- #endif layoutTypesIncludes
-
- #ifdef appleInternal
- #define GXInlineCode(x)
- #endif
- #ifndef GXInlineCode
- #define GXInlineCode(x) = {0x303C, x, 0xA832}
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- gxShape GXNewLayout(long textRunCount, const short textRunLengths[], const void *text[],
- long styleRunCount, const short styleRunLengths[], const gxStyle styles[], long levelRunCount,
- const short levelRunLengths[], const short levels[], const gxLayoutOptions *layoutOptions,
- const gxPoint *position) GXInlineCode(0x117F);
-
- long GXGetLayout(gxShape layout, void *text, long *styleRunCount, short styleRunLengths[],
- gxStyle styles[], long *levelRunCount, short levelRunLengths[], short levels[],
- gxLayoutOptions *layoutOptions, gxPoint *position) GXInlineCode(0x1180);
-
- void GXSetLayout(gxShape layout, long textRunCount, const short textRunLengths[], const void *text[],
- long styleRunCount, const short styleRunLengths[], const gxStyle styles[], long levelRunCount,
- const short levelRunLengths[], const short levels[], const gxLayoutOptions *layoutOptions,
- const gxPoint *position) GXInlineCode(0x1181);
-
- void GXDrawLayout(long textRunCount, const short textRunLengths[], const void *text[],
- long styleRunCount, const short styleRunLengths[], const gxStyle styles[], long levelRunCount,
- const short levelRunLengths[], const short levels[], const gxLayoutOptions *layoutOptions,
- const gxPoint *position) GXInlineCode(0x1182);
-
- void GXSetLayoutParts(gxShape layout, gxByteOffset oldStartOffset, gxByteOffset oldEndOffset,
- long newTextRunCount, const short newTextRunLengths[], const void *newText[],
- long newStyleRunCount, const short newStyleRunLengths[], const gxStyle newStyles[],
- long newLevelRunCount, const short newLevelRunLengths[], const short newLevels[]) GXInlineCode(0x1237);
-
- void GXSetLayoutShapeParts(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset,
- gxShape insert) GXInlineCode(0x1242);
-
- long GXGetLayoutParts(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset, void *text,
- long *styleRunCount, short styleRunLengths[], gxStyle styles[], long *levelRunCount,
- short levelRunLengths[], short levels[]) GXInlineCode(0x1238);
-
- gxShape GXGetLayoutShapeParts(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset,
- gxShape dest) GXInlineCode(0x1243);
-
- long GXGetLayoutGlyphs(gxShape layout, gxGlyphcode *glyphs, gxPoint positions[], long advance[],
- gxPoint tangents[], long *runCount, short styleRuns[], gxStyle glyphStyles[]) GXInlineCode(0x1185);
-
- gxByteOffset GXHitTestLayout(gxShape layout, const gxPoint *hitDown, gxHighlightType highlightType,
- gxLayoutHitInfo *hitInfo, gxShape hitTrackingArea) GXInlineCode(0x1187);
-
- gxShape GXGetLayoutHighlight(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset,
- gxHighlightType highlightType, gxShape highlight) GXInlineCode(0x1188);
-
- gxShape GXGetLayoutVisualHighlight(gxShape layout, gxByteOffset startOffset, long startLeadingEdge,
- gxByteOffset endOffset, long endLeadingEdge, gxHighlightType highlightType, gxShape highlight) GXInlineCode(0x1208);
-
- gxShape GXGetLayoutCaret(gxShape layout, gxByteOffset offset, gxHighlightType highlightType,
- gxCaretType caretType, gxShape caret) GXInlineCode(0x1189);
-
- gxByteOffset GXGetLayoutBreakOffset(gxShape layout, gxByteOffset startOffset, fixed lineWidth,
- long hyphenationCount, const gxByteOffset hyphenationPoints[], boolean *startIsStaked,
- gxByteOffset *priorStake, gxByteOffset *nextStake) GXInlineCode(0x1239);
-
- fixed GXGetLayoutRangeWidth(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset,
- gxShape supplementaryText) GXInlineCode(0x123A);
-
- gxShape GXNewLayoutFromRange(gxShape layout, gxByteOffset startOffset, gxByteOffset endOffset,
- const gxLayoutOptions *layoutOptions, gxShape supplementaryText) GXInlineCode(0x123B);
-
- gxShape GXGetCaretAngleArea(gxShape layout, const gxPoint *hitPoint, gxHighlightType highlightType,
- gxShape caretArea, short *returnedRise, short *returnedRun) GXInlineCode(0x118A);
-
- void GXGetStyleBaselineDeltas(gxStyle baseStyle, gxBaselineType baseType,
- gxBaselineDeltas returnedDeltas) GXInlineCode(0x118B);
-
- gxByteOffset GXGetRightVisualOffset(gxShape layout, gxByteOffset currentOffset) GXInlineCode(0x118D);
- gxByteOffset GXGetLeftVisualOffset(gxShape layout, gxByteOffset currentOffset) GXInlineCode(0x118E);
-
- void GXGetCompoundCharacterLimits(gxShape layout, gxByteOffset trial, gxByteOffset *minOffset,
- gxByteOffset *maxOffset, boolean *onBoundary) GXInlineCode(0x118F);
-
- void GXGetOffsetGlyphs(gxShape layout, gxByteOffset trial, long leadingEdge,
- gxLayoutOffsetState *offsetState, unsigned short *firstGlyph, unsigned short *secondGlyph) GXInlineCode(0x1209);
-
- void GXGetGlyphOffsets(gxShape layout, gxByteOffset trial, long onLeftTop, gxByteOffset *offset,
- boolean *leadingEdge, boolean *wasRealCharacter) GXInlineCode(0x120A);
-
- void GXGetLayoutSpan(gxShape layout, fixed *lineAscent, fixed *lineDescent) GXInlineCode(0x1190);
- void GXSetLayoutSpan(gxShape layout, fixed lineAscent, fixed lineDescent) GXInlineCode(0x1191);
-
- void GXSetStyleRunControls(gxStyle target, const gxRunControls *runControls) GXInlineCode(0x1192);
- void GXSetStyleRunPriorityJustOverride(gxStyle target,
- const gxPriorityJustificationOverride *priorityJustificationOverride) GXInlineCode(0x1193);
- void GXSetStyleRunGlyphJustOverrides(gxStyle target, long count,
- const gxGlyphJustificationOverride glyphJustificationOverrides[]) GXInlineCode(0x1194);
- void GXSetStyleRunGlyphSubstitutions(gxStyle target, long count,
- const gxGlyphSubstitution glyphSubstitutions[]) GXInlineCode(0x1195);
- void GXSetStyleRunFeatures(gxStyle target, long count, const gxRunFeature runFeatures[]) GXInlineCode(0x1196);
- void GXSetStyleRunKerningAdjustments(gxStyle target, long count,
- const gxKerningAdjustment kerningAdjustments[]) GXInlineCode(0x1197);
-
- void GXSetShapeRunControls(gxShape target, const gxRunControls *runControls) GXInlineCode(0x1198);
- void GXSetShapeRunPriorityJustOverride(gxShape target,
- const gxPriorityJustificationOverride *priorityJustificationOverride) GXInlineCode(0x1199);
- void GXSetShapeRunGlyphJustOverrides(gxShape target, long count,
- const gxGlyphJustificationOverride glyphJustificationOverrides[]) GXInlineCode(0x119A);
- void GXSetShapeRunGlyphSubstitutions(gxShape target, long count,
- const gxGlyphSubstitution glyphSubstitutions[]) GXInlineCode(0x119B);
- void GXSetShapeRunFeatures(gxShape target, long count, const gxRunFeature runFeatures[]) GXInlineCode(0x119C);
- void GXSetShapeRunKerningAdjustments(gxShape target, long count,
- const gxKerningAdjustment kerningAdjustments[]) GXInlineCode(0x119D);
-
- long GXGetStyleRunControls(gxStyle source, gxRunControls *runControls) GXInlineCode(0x119E);
- long GXGetStyleRunPriorityJustOverride(gxStyle source,
- gxPriorityJustificationOverride *priorityJustificationOverride) GXInlineCode(0x119F);
- long GXGetStyleRunGlyphJustOverrides(gxStyle source,
- gxGlyphJustificationOverride glyphJustificationOverrides[]) GXInlineCode(0x11A0);
- long GXGetStyleRunGlyphSubstitutions(gxStyle source, gxGlyphSubstitution glyphSubstitutions[]) GXInlineCode(0x11A1);
- long GXGetStyleRunFeatures(gxStyle source, gxRunFeature runFeatures[]) GXInlineCode(0x11A2);
- long GXGetStyleRunKerningAdjustments(gxStyle source, gxKerningAdjustment kerningAdjustments[]) GXInlineCode(0x11A3);
-
- long GXGetShapeRunControls(gxShape source, gxRunControls *runControls) GXInlineCode(0x11A4);
- long GXGetShapeRunPriorityJustOverride(gxShape source,
- gxPriorityJustificationOverride *priorityJustificationOverride) GXInlineCode(0x11A5);
- long GXGetShapeRunGlyphJustOverrides(gxShape source,
- gxGlyphJustificationOverride glyphJustificationOverrides[]) GXInlineCode(0x11A6);
- long GXGetShapeRunGlyphSubstitutions(gxShape source, gxGlyphSubstitution glyphSubstitutions[]) GXInlineCode(0x11A7);
- long GXGetShapeRunFeatures(gxShape source, gxRunFeature runFeatures[]) GXInlineCode(0x11A8);
- long GXGetShapeRunKerningAdjustments(gxShape source, gxKerningAdjustment kerningAdjustments[]) GXInlineCode(0x11A9);
-
- #ifdef __cplusplus
- }
- #endif
-
- #undef GXInlineCode
-
- #endif layoutRoutinesIncludes
-